package com.shop.cereshop.commons.tencent.im.model.msg.data;

import com.fasterxml.jackson.annotation.JsonSubTypes;
import com.fasterxml.jackson.annotation.JsonTypeInfo;

/**
 * @description: 腾讯云IM消息数据接口
 * @author zdd
 * @date 2025/9/9 22:45
 * @version 1.0
 */
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "msgType", visible = true, defaultImpl = TextMsgData.class)
@JsonSubTypes({
        @JsonSubTypes.Type(value = CustomMsgData.class, name = "custom"),
        @JsonSubTypes.Type(value = FaceMsgData.class, name = "face"),
        @JsonSubTypes.Type(value = FileMsgData.class, name = "file"),
        @JsonSubTypes.Type(value = ImageMsgData.class, name = "image"),
        @JsonSubTypes.Type(value = LocationMsgData.class, name = "location"),
        @JsonSubTypes.Type(value = SoundMsgData.class, name = "sound"),
        @JsonSubTypes.Type(value = TextMsgData.class, name = "text"),
        @JsonSubTypes.Type(value = VideoMsgData.class, name = "video"),
})
public interface MsgData {
}
